1
Evolusi Array C++
AI013Lesson 4
00:00

Transisi dari array gaya C ke std::array mewakili perubahan mendasar menuju keamanan tipe dan pemrograman generik dalam C++ Modern.

1. Masalah Dekay Pointer

Array warisan (int arr[N]) mengalami "dekay pointer." Ketika dilewatkan ke fungsi, mereka kehilangan metadata ukuran dan berubah menjadi pointer mentah (int*). Hal ini menyebabkan aritmetika pointer yang tidak aman dan overflow buffer.

2. Modernisasi C++11

std::array memberikan wrapper tipis, wrapper tanpa beban di sekitar array mentah. Ini terintegrasi dengan STL (Standard Template Library) sambil menghargai Aturan Lima.

PRE-C++11 (Warisan)T[N]DekayPOST-C++11 (Modern)std::array<T, N>+ std::forward (Efisiensi)

3. Pengalihan Sempurna dengan std::forward

C++11 memperkenalkan std::forward untuk memastikan std::array objek berpindah melalui wrapper templat tanpa salinan berlebihan. Dengan memanfaatkan Aturan Penggabungan Referensi, kita menjaga kategori nilai objek (lvalue vs rvalue).

$$T\&\& + \& \rightarrow T\&$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>